import { AppBasicInfo, AppList } from './project';
import { CVEDetail } from './cve';
import { ServerListVo } from './server';
import { CNNVDDetail } from './cnnvd';

/**
 * ContainerListVo
 * 容器的基本信息
 */
export interface ContainerListVo {
  containerId: string;
  containerName: string;
  grade: string;
  appList: Array<AppList>;
  serverNum: number;
  cnnvdNum: number;
  cveNum: number;
  releaseDate: string;
  filter: string;
}

export interface ContainerDetailVo {
  appNum: number;
  apps: Array<AppList>;
  cnnvdNum: number;
  cnnvds: Array<CNNVDDetail>;
  containerId: string;
  cveNum: 0;
  cves: Array<CVEDetail>;
  name: string;
  releaseDate: string;
  servers: Array<ServerListVo>;
  version: string;
}


/**
 * Server List Vo
 * Description: Server容器列表展示
 */
export interface ServerListVo {
  serverId: string;
  name: string;
  hostName: string;
  serverName: string;
  serverVersion: string;
  agentVersion: string;
  lastestAgentVersion: string;
  applications: Array<AppBasicInfo>;
  path: string;
  status: number;
  lastTimeSeen: number;
  createTime: number;
  modifyTime: number;
}

export interface Count {
  containerCount: number;
  baseLineCount: number;
}

export interface ContainerListsVo {
  name: string;
  version: string;
  releaseDate: string;
  source: string;
  cnnvds: number;
  cves: number;
}

